package com.john.market.interfaces;

import java.util.UUID;

import com.john.market.classes.Product;

/**
 * Seller interface 
 *
 */
public interface ISeller {
	/**
	 * Adds new product
	 * 
	 * @param product
	 * Product to be added
	 * 
	 * @return
	 * {@code true} if the operation completed successfully,
	 * {@code false} otherwise   
	 * 
	 */
	public boolean addProduct(Product product);
	
	/**
	 * Updates the product
	 * 
	 * @param product
	 * Product to be updated
	 * 
	 * @return
	 * {@code true} if the operation completed successfully,
	 * {@code false} otherwise   
	 * 
	 */
	public boolean updateProduct(Product product);
	
	/**
	 * Removes a product
	 * 
	 * @param id
	 * ID of the object that want to remove
	 * 
	 * @return
	 * {@code true} if the operation completed successfully,
	 * {@code false} otherwise   
	 * 
	 */
	public boolean removeProduct(UUID id);
	
}
